Development of printed circuit boards and other similar boards includes the following stages: circuit specification design, circuit design, implementation design, analysis, board prototyping, and manufacturing.
In circuit design of related art, there are few signals (or nets) to which constraints are set. The quality of circuit design can be sufficiently assured by a designer who visually checks whether or not it is appropriate to set constraints. As technologies have progressed in recent year illustrate ever, increase in transmission rate (higher than 100 MHz), decrease in drive voltage, and other factors increase the proportion of signals and other targets to which constraints are set. That makes manual management of constraint setting difficult.
In view of the background described above, there has been a known (constraint-driven) design approach in which the quality of circuit design is assured by defining design constraints in an upstream design stage (circuit design stage, for example) and checking design rules (DRC) in a downstream design stage (implementation design stage, for example).
In circuit design CAD systems, there have been several known methods for representing and processing constraints.
There has been a known CAD apparatus for displaying the data in layers containing elements of circuit design drawing data to edit the circuit design drawing data in an efficient manner. In the editing operation performed in the CAD apparatus, a data structure in which the elements are related to each other is first generated. When an element is deleted in any of the layers, other elements related to the element in the data structure are also deleted.
Further, there has been a known apparatus that prevents any reading error when a printed instruction document is read by a person. In the apparatus, when a character string added to a figure in drawing data in a system is displayed on a screen of another system, the added character string is also displayed.
The following are documents which describe technical backgrounds of the discussed embodiment: Japanese Patent Laid-Open No. 2008-140304 and H9-26989.
In circuit design based on the constraint-driven design approach described above, the circuit design is, in general, frequently corrected due to change in circuit specifications, change in parts of the circuit, and other reasons. It is therefore very important to change related constraints in synchronization with the change in the circuit design.
However, information on specifications of circuit design (like circuit design specifications) and information on design constraints (like constraint conditions) are managed separately, and a designer corrects the circuit design specifications and the constraints separately in related art.
Specifically, in general, a circuit designer inputs circuit drawing data and then inputs constraint data. As a result, when the circuit designer corrects the circuit drawing after having input the constraint data, the circuit designer has to correct the constraints to reflect the correction of the circuit drawing in the constraints. For example, when the name of a part incorporated in a circuit is changed, it is necessary to correct the name of the part in a related constraint.
The number of necessary constraints tends to be enormous as the density in circuit design increases. As a result, when a circuit drawing is corrected, the number of steps of correcting a related constraint so that it agrees with the correction increases, resulting in significant efforts for the correction.
The present inventor has studied several system approaches to automatic update of constraint data after circuit data is edited and has found the following problems:
(1) Approach to Constraint Data Update Based on Edited Circuit Data:
After circuit data correction, to allow the system to update constraint data automatically in accordance with the correction, the system needs to know which element (such as a part and a net) in the circuit has been edited and what kind of editing has been made on the element (added, deleted, or moved, for example). Therefore, after the circuit data has undergone several editing operations, an attempt to update a constraint effective before the editing operations based on the edited circuit data will not be successful.
(2) Approach to Constraint Data Update Whenever Circuit Data is Edited:
Whenever circuit data is edited, related constraint data can be updated. In this case, however, there is a concern about decrease in editing speed as the density in circuit design has increased in recent years. That is, since circuit data to be created in circuit design greatly increases in recent years, the number of constraints to be created also greatly increases, which makes it unrealistic to extract and update, whenever circuit data is edited, all related constraints because the circuit data editing speed decreases accordingly. Specifically, when 5000 constraints are set and 5 elements in average are related to each of the constraints, the number of elements related to the constraints is 5000×5=25000.
Whenever an element is edited, a constraint related to the element needs to be updated. In this case, it is necessary to search the 25000 elements to which constraints have been set for a constraint to be updated. Further, when an element to which no constraint has been set is edited, unnecessary constraint search is disadvantageously carried out although no constraint update is necessary.
The above and other objects and novel features of the present invention are apparent from the description of the specification when taken in connection with the accompanying drawings.